package com.yxw.yxnet_cd_center.customer_service.service;

import com.yxw.yxnet_cd_center.common.dto.PageVO;
import com.yxw.yxnet_cd_center.customer_service.dto.PrcAddDTO;
import com.yxw.yxnet_cd_center.customer_service.dto.PrcQueryDTO;
import com.yxw.yxnet_cd_center.customer_service.dto.PrcUpdateDTO;
import com.yxw.yxnet_cd_center.customer_service.vo.PrcVO;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * 问题收集管理Service接口
 *
 * @author xiexuxin
 * @date 2023-09-17
 */
public interface IPrcService {

    /**
     * 收集问题
     * @param prcAddDTO
     */
    void addProblem(PrcAddDTO prcAddDTO);

    /**
     * 根据Id删除问题
     * @param problemLibId
     */
    void deletePrcById(Long problemLibId);

    /**
     * 根据Id批量删除问题
     *
     * @param problemLibIds 需要删除的数据主键集合
     * @return 结果
     */
    void deletePrcByIds(@Param("problemLibIds") List<Long> problemLibIds);

    /**
     * 编辑问题
     * @param problemLibId
     * @param prcUpdateDTO
     */
    void updatePrc(Long problemLibId, PrcUpdateDTO prcUpdateDTO);

    /**
     * 根据id查询岗位数据详情
     * @param problemLibId
     * @return
     */
    PrcVO selectPrcById(Long problemLibId);

    /**
     * 问题列表条件查询
     * @param prcQueryDTO
     * @return
     */
    PageVO<PrcVO> getPrcList(PrcQueryDTO prcQueryDTO);

    /**
     * 查询问题列表
     * @return
     */
    List<PrcVO> prcList();

    /**
     * 常见问题收录
     * @param problemLibIds
     */
    void migrateData(List<Long> problemLibIds);


}
